package com.hngates.architecture.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hngates.common.annotation.Excel;
import com.hngates.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 工人投诉具体情况对象 arc_worker_complain
 *
 * @author jwhe
 * @date 2022-07-05
 */
public class ArcWorkerComplain extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 记录id
     */
    private Long id;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 工地id
     */
    @Excel(name = "工地id")
    private Long projectId;

    /**
     * 分包单位id
     */
    @Excel(name = "分包单位id")
    private Long subLabourId;

    /**
     * 投诉时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "投诉时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date complainTime;

    /**
     * 投诉地点
     */
    @Excel(name = "投诉地点")
    private String complainPlace;

    /**
     * 投诉部门
     */
    @Excel(name = "投诉部门")
    private String complainDepartment;

    /**
     * 投诉类型
     */
    @Excel(name = "投诉类型")
    private String complainType;

    /**
     * 负责人
     */
    @Excel(name = "负责人")
    private String complainLeader;

    /**
     * 成员列表
     */
    @Excel(name = "成员列表")
    private String complainMember;

    /**
     * 投诉内容
     */
    @Excel(name = "投诉内容")
    private String complainContent;

    /**
     * 涉案金额
     */
    @Excel(name = "涉案金额")
    private BigDecimal amountInvolved;

    @Excel(name = "投诉人数")
    private Integer complainNumber;

    @Excel(name = "投诉得分")
    private Integer complainScore;

    public Long getId() {
        return id;
    }

    public ArcWorkerComplain setId(Long id) {
        this.id = id;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public ArcWorkerComplain setStatus(String status) {
        this.status = status;
        return this;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public ArcWorkerComplain setDelFlag(String delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    public Long getProjectId() {
        return projectId;
    }

    public ArcWorkerComplain setProjectId(Long projectId) {
        this.projectId = projectId;
        return this;
    }

    public Long getSubLabourId() {
        return subLabourId;
    }

    public ArcWorkerComplain setSubLabourId(Long subLabourId) {
        this.subLabourId = subLabourId;
        return this;
    }

    public Date getComplainTime() {
        return complainTime;
    }

    public ArcWorkerComplain setComplainTime(Date complainTime) {
        this.complainTime = complainTime;
        return this;
    }

    public String getComplainPlace() {
        return complainPlace;
    }

    public ArcWorkerComplain setComplainPlace(String complainPlace) {
        this.complainPlace = complainPlace;
        return this;
    }

    public String getComplainDepartment() {
        return complainDepartment;
    }

    public ArcWorkerComplain setComplainDepartment(String complainDepartment) {
        this.complainDepartment = complainDepartment;
        return this;
    }

    public String getComplainType() {
        return complainType;
    }

    public ArcWorkerComplain setComplainType(String complainType) {
        this.complainType = complainType;
        return this;
    }

    public String getComplainLeader() {
        return complainLeader;
    }

    public ArcWorkerComplain setComplainLeader(String complainLeader) {
        this.complainLeader = complainLeader;
        return this;
    }

    public String getComplainMember() {
        return complainMember;
    }

    public ArcWorkerComplain setComplainMember(String complainMember) {
        this.complainMember = complainMember;
        return this;
    }

    public String getComplainContent() {
        return complainContent;
    }

    public ArcWorkerComplain setComplainContent(String complainContent) {
        this.complainContent = complainContent;
        return this;
    }

    public BigDecimal getAmountInvolved() {
        return amountInvolved;
    }

    public ArcWorkerComplain setAmountInvolved(BigDecimal amountInvolved) {
        this.amountInvolved = amountInvolved;
        return this;
    }

    public Integer getComplainNumber() {
        return complainNumber;
    }

    public ArcWorkerComplain setComplainNumber(Integer complainNumber) {
        this.complainNumber = complainNumber;
        return this;
    }

    public Integer getComplainScore() {
        return complainScore;
    }

    public ArcWorkerComplain setComplainScore(Integer complainScore) {
        this.complainScore = complainScore;
        return this;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("projectId", getProjectId())
                .append("subLabourId", getSubLabourId())
                .append("complainTime", getComplainTime())
                .append("complainPlace", getComplainPlace())
                .append("complainDepartment", getComplainDepartment())
                .append("complainType", getComplainType())
                .append("complainLeader", getComplainLeader())
                .append("complainMember", getComplainMember())
                .append("complainContent", getComplainContent())
                .append("amountInvolved", getAmountInvolved())
                .append("complainNumber", getComplainNumber())
                .append("complainScore", getComplainScore())
                .toString();
    }
}
